package cn.jetpiece.cloud.common.api.message.model.params;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 修改系统通告表
 *
 * @author jetpiece
 * @since 2022-11-16
 */
@Data
@ApiModel
public class UpdateAnnouncementParam implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    private String title;

    /**
     * 内容
     */
    @ApiModelProperty(value = "内容")
    private String msgContent;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 发布人
     */
    @ApiModelProperty(value = "发布人")
    private String sender;

    /**
     * 优先级（L低，M中，H高）
     */
    @ApiModelProperty(value = "优先级（L低，M中，H高）")
    private String priority;

    /**
     * 消息类型1:通知公告2:系统消息
     */
    @ApiModelProperty(value = "消息类型1:通知公告2:系统消息")
    private String msgCategory;

    /**
     * 消息接收用户类型
     */
    @ApiModelProperty(value = "消息接收用户类型")
    private String msgReceiverUserType;

    /**
     * 发布状态（0未发布，1已发布，2已撤销）
     */
    @ApiModelProperty(value = "发布状态（0未发布，1已发布，2已撤销）")
    private String sendStatus;

    /**
     * 发布时间
     */
    @ApiModelProperty(value = "发布时间")
    private Date sendTime;

    /**
     * 撤销时间
     */
    @ApiModelProperty(value = "撤销时间")
    private Date cancelTime;

    /**
     * 业务类型(email:邮件 bpm:流程)
     */
    @ApiModelProperty(value = "业务类型(email:邮件 bpm:流程)")
    private String busType;

    /**
     * 业务id
     */
    @ApiModelProperty(value = "业务id")
    private String busId;

    /**
     * 打开方式(组件：component 路由：url)
     */
    @ApiModelProperty(value = "打开方式(组件：component 路由：url)")
    private String openType;

    /**
     * 组件/路由 地址
     */
    @ApiModelProperty(value = "组件/路由 地址")
    private String openPage;

    /**
     * 指定用户
     */
    @ApiModelProperty(value = "指定用户")
    private String userIds;

    /**
     * 摘要
     */
    @ApiModelProperty(value = "摘要")
    private String msgAbstract;

    /**
     * 钉钉task_id，用于撤回消息
     */
    @ApiModelProperty(value = "钉钉task_id，用于撤回消息")
    private String dtTaskId;
}
